package py.edu.ucsa.sisale.rsclient;

import java.util.ArrayList;
import java.util.List;

import py.edu.ucsa.sisale.vo.*;

import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.ClientResponse;
import com.sun.jersey.api.client.WebResource;

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;

public class PrioridadesCl {
	 	 
	 public List<Prioridad> getPrioridades(){
		 System.out.println("Testing Rs");
		 String datosJson="";
		 
		 List<Prioridad> prioridades = new ArrayList<Prioridad>();
		 
		 //OBTENIENDO LOS DATOS
			try {
		 
				Client client = Client.create();		 
				WebResource webResource = client
				   .resource("http://localhost:8080/sisalews/prioridad");
		 
				ClientResponse response = webResource.accept("application/json")
		                   .get(ClientResponse.class);
		 
				if (response.getStatus() != 200) {
				   throw new RuntimeException("Failed : HTTP error code : "
					+ response.getStatus());
				}
		 
				datosJson = response.getEntity(String.class);				
				System.out.println("Output from Server .... \n");
				System.out.println(datosJson);
		 
			  } catch (Exception e) {		 
				e.printStackTrace();		 
			  }
		 
			
	 
	    //PARSEAR DATOS JSON / OBJETO PRIORIDAD

			try{
			    JSONParser parser=new JSONParser();
		         Object obj = parser.parse(datosJson);
		         JSONArray array = (JSONArray)obj;
		         
		         for(int i=0; i< array.size(); i++)
		         {
		        	 Prioridad prioridad = new Prioridad();
		        	 System.out.println("Datos de la prioridad");
		        	 System.out.println("---------------------");
		        	  JSONObject jObj = (JSONObject)array.get(i);
		        	  
		        	  prioridad.setId(jObj.get("id").toString());
		        	  prioridad.setNombre(jObj.get("nombre").toString());
		        	  prioridad.setDescripcion(jObj.get("descripcion").toString());
		        	  
		        	  prioridades.add(prioridad);
		        
		         }
		         return prioridades;
		      }catch(ParseException pe){
		         System.out.println("position: " + pe.getPosition());
		         System.out.println(pe);
		         return null;
		      }

	}
	 
	 
	 

}
